<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>PowerVR SDK</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<table width="100%">
  <tr>
    <td width="33%">
      <p align="left">&nbsp;<a href="http://www.imgtec.com"><img border="0" src="IMGLogo.jpg" width="200" height="30"></a></p>
    </td>
    <td width="33%">
      <p align="center"><font color="#808080" face="Arial" size="2">PowerVR Software Development Kit</a></font></p>
    </td>
    <td width="34%">
      <p align="right"><a href="http://www.powervr.com"><img border="0" src="PVRlogo.jpg" width="200" height="27"></a></p>
    </td>
  </tr>
</table>
<hr>
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>PVRTShadowVol.h File Reference</h1><code>#include "<a class="el" href="PVRTContext_8h-source.html">PVRTContext.h</a>"</code><br>
<code>#include "<a class="el" href="PVRTVector_8h-source.html">PVRTVector.h</a>"</code><br>

<p>
Include dependency graph for PVRTShadowVol.h:<p><center><img src="PVRTShadowVol_8h__incl.png" border="0" usemap="#PVRTShadowVol.h_map" alt="Include dependency graph"></center>
<map name="PVRTShadowVol.h_map">
<area href="PVRTContext_8h.html" shape="rect" coords="244,82,359,108" alt="">
<area href="PVRTGlobal_8h.html" shape="rect" coords="507,82,613,108" alt="">
<area href="PVRTVector_8h.html" shape="rect" coords="591,231,697,258" alt="">
<area href="PVRTFixedPoint_8h.html" shape="rect" coords="433,156,567,183" alt="">
<area href="PVRTMatrix_8h.html" shape="rect" coords="591,156,697,183" alt="">
</map>

<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="PVRTShadowVol_8h__dep__incl.png" border="0" usemap="#PVRTShadowVol.hdep_map" alt="Included by dependency graph"></center>
<map name="PVRTShadowVol.hdep_map">
<area href="OGLES2Tools_8h.html" shape="rect" coords="16,7,133,34" alt="">
</map>

<p>
<a href="PVRTShadowVol_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTShadowVolMEdge.html">PVRTShadowVolMEdge</a></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTShadowVolMTriangle.html">PVRTShadowVolMTriangle</a></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a></td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a></td></tr>

<tr><td colspan=2><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a0">PVRTSHADOWVOLUME_VISIBLE</a>&nbsp;&nbsp;&nbsp;0x00000001</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a1">PVRTSHADOWVOLUME_NEED_CAP_FRONT</a>&nbsp;&nbsp;&nbsp;0x00000002</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a2">PVRTSHADOWVOLUME_NEED_CAP_BACK</a>&nbsp;&nbsp;&nbsp;0x00000004</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>#define&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a3">PVRTSHADOWVOLUME_NEED_ZFAIL</a>&nbsp;&nbsp;&nbsp;0x00000008</td></tr>

<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a4">PVRTShadowVolMeshCreateMesh</a> (<a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const float *const pVertex, const unsigned int nNumVertex, const unsigned short *const pFaces, const unsigned int nNumFaces)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a5">PVRTShadowVolMeshInitMesh</a> (<a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const pContext)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a6">PVRTShadowVolMeshInitVol</a> (<a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const psVol, const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const pContext)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a7">PVRTShadowVolMeshDestroyMesh</a> (<a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a8">PVRTShadowVolMeshReleaseMesh</a> (<a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a9">PVRTShadowVolMeshReleaseVol</a> (<a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const psVol)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a10">PVRTShadowVolSilhouetteProjectedBuild</a> (<a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const psVol, const unsigned int dwVisFlags, const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const pvLightModel, const bool bPointLight)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a11">PVRTShadowVolSilhouetteProjectedBuild</a> (<a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const psVol, const unsigned int dwVisFlags, const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const <a class="el" href="structPVRTVec3.html">PVRTVec3</a> *const pvLightModel, const bool bPointLight)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a12">PVRTShadowVolBoundingBoxExtrude</a> (<a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const pvExtrudedCube, const <a class="el" href="structPVRTBOUNDINGBOX__TAG.html">PVRTBOUNDINGBOX</a> *const pBoundingBox, const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const pvLightMdl, const bool bPointLight, const float fVolLength)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a13">PVRTShadowVolBoundingBoxIsVisible</a> (unsigned int *const pdwVisFlags, const bool bObVisible, const bool bNeedsZClipping, const <a class="el" href="structPVRTBOUNDINGBOX__TAG.html">PVRTBOUNDINGBOX</a> *const pBoundingBox, const <a class="el" href="classPVRTMATRIXf.html">PVRTMATRIX</a> *const pmTrans, const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const pvLightMdl, const bool bPointLight, const float fCamZProj, const float fVolLength)</td></tr>

<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="PVRTShadowVol_8h.html#a14">PVRTShadowVolSilhouetteProjectedRender</a> (const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const psMesh, const <a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const psVol, const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const pContext)</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="a2" doxytag="PVRTShadowVol.h::PVRTSHADOWVOLUME_NEED_CAP_BACK" ></a><p>
<br><br><h3>PVRTSHADOWVOLUME_NEED_CAP_BACK</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define PVRTSHADOWVOLUME_NEED_CAP_BACK&nbsp;&nbsp;&nbsp;0x00000004
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a1" doxytag="PVRTShadowVol.h::PVRTSHADOWVOLUME_NEED_CAP_FRONT" ></a><p>
<br><br><h3>PVRTSHADOWVOLUME_NEED_CAP_FRONT</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define PVRTSHADOWVOLUME_NEED_CAP_FRONT&nbsp;&nbsp;&nbsp;0x00000002
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a3" doxytag="PVRTShadowVol.h::PVRTSHADOWVOLUME_NEED_ZFAIL" ></a><p>
<br><br><h3>PVRTSHADOWVOLUME_NEED_ZFAIL</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define PVRTSHADOWVOLUME_NEED_ZFAIL&nbsp;&nbsp;&nbsp;0x00000008
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a class="anchor" name="a0" doxytag="PVRTShadowVol.h::PVRTSHADOWVOLUME_VISIBLE" ></a><p>
<br><br><h3>PVRTSHADOWVOLUME_VISIBLE</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> #define PVRTSHADOWVOLUME_VISIBLE&nbsp;&nbsp;&nbsp;0x00000001
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a12" doxytag="PVRTShadowVol.h::PVRTShadowVolBoundingBoxExtrude" ></a><p>
<br><br><h3>PVRTShadowVolBoundingBoxExtrude</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolBoundingBoxExtrude </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pvExtrudedCube</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTBOUNDINGBOX__TAG.html">PVRTBOUNDINGBOX</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pBoundingBox</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pvLightMdl</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bPointLight</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const float&nbsp;</td>
          <td class="mdname" nowrap> <em>fVolLength</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pvExtrudedCube</em>&nbsp;</td><td>8 Vertices to represent the extruded box </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pBoundingBox</em>&nbsp;</td><td>The bounding box to extrude </td></tr>
    <tr><td valign=top><em>pvLightMdl</em>&nbsp;</td><td>The light position/direction </td></tr>
    <tr><td valign=top><em>bPointLight</em>&nbsp;</td><td>Is the light a point light </td></tr>
    <tr><td valign=top><em>fVolLength</em>&nbsp;</td><td>The length the volume has been extruded by </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Extrudes the bounding box of the volume </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a13" doxytag="PVRTShadowVol.h::PVRTShadowVolBoundingBoxIsVisible" ></a><p>
<br><br><h3>PVRTShadowVolBoundingBoxIsVisible</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolBoundingBoxIsVisible </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">unsigned int *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pdwVisFlags</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bObVisible</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bNeedsZClipping</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTBOUNDINGBOX__TAG.html">PVRTBOUNDINGBOX</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pBoundingBox</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="classPVRTMATRIXf.html">PVRTMATRIX</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pmTrans</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pvLightMdl</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bPointLight</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const float&nbsp;</td>
          <td class="mdname" nowrap> <em>fCamZProj</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const float&nbsp;</td>
          <td class="mdname" nowrap> <em>fVolLength</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pdwVisFlags</em>&nbsp;</td><td>Visibility flags </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>bObVisible</em>&nbsp;</td><td>Is the object visible? Unused set to true </td></tr>
    <tr><td valign=top><em>bNeedsZClipping</em>&nbsp;</td><td>Does the object require Z clipping? Unused set to true </td></tr>
    <tr><td valign=top><em>pBoundingBox</em>&nbsp;</td><td>The volumes bounding box </td></tr>
    <tr><td valign=top><em>pmTrans</em>&nbsp;</td><td>The projection matrix </td></tr>
    <tr><td valign=top><em>pvLightMdl</em>&nbsp;</td><td>The light position/direction </td></tr>
    <tr><td valign=top><em>bPointLight</em>&nbsp;</td><td>Is the light a point light </td></tr>
    <tr><td valign=top><em>fCamZProj</em>&nbsp;</td><td>The camera's z projection value </td></tr>
    <tr><td valign=top><em>fVolLength</em>&nbsp;</td><td>The length the volume is extruded by </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Determines if the volume is visible and if it needs caps </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a4" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshCreateMesh" ></a><p>
<br><br><h3>PVRTShadowVolMeshCreateMesh</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolMeshCreateMesh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const float *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pVertex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>nNumVertex</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const unsigned short *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pFaces</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>nNumFaces</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh to populate </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>pVertex</em>&nbsp;</td><td>A list of vertices </td></tr>
    <tr><td valign=top><em>nNumVertex</em>&nbsp;</td><td>The number of vertices </td></tr>
    <tr><td valign=top><em>pFaces</em>&nbsp;</td><td>A list of faces </td></tr>
    <tr><td valign=top><em>nNumFaces</em>&nbsp;</td><td>The number of faces </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Creates a mesh format suitable for generating shadow volumes </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a7" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshDestroyMesh" ></a><p>
<br><br><h3>PVRTShadowVolMeshDestroyMesh</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolMeshDestroyMesh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>psMesh</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh to destroy </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Destroys all shadow volume mesh data created by PVRTShadowVolMeshCreateMesh </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a5" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshInitMesh" ></a><p>
<br><br><h3>PVRTShadowVolMeshInitMesh</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool PVRTShadowVolMeshInitMesh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pContext</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh </td></tr>
    <tr><td valign=top><em>pContext</em>&nbsp;</td><td>A struct for API specific data </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>True on success </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Init the mesh </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a6" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshInitVol" ></a><p>
<br><br><h3>PVRTShadowVolMeshInitVol</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> bool PVRTShadowVolMeshInitVol </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psVol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pContext</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psVol</em>&nbsp;</td><td>The shadow volume struct </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh </td></tr>
    <tr><td valign=top><em>pContext</em>&nbsp;</td><td>A struct for API specific data </td></tr>
  </table>
</dl>
<dl compact><dt><b>Returns:</b></dt><dd>True on success </dd></dl>
<dl compact><dt><b>Description:</b></dt><dd>Init the renderable shadow volume information. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a8" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshReleaseMesh" ></a><p>
<br><br><h3>PVRTShadowVolMeshReleaseMesh</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolMeshReleaseMesh </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>psMesh</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh to release </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Releases all shadow volume mesh data created by PVRTShadowVolMeshInitMesh </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a9" doxytag="PVRTShadowVol.h::PVRTShadowVolMeshReleaseVol" ></a><p>
<br><br><h3>PVRTShadowVolMeshReleaseVol</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolMeshReleaseVol </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const&nbsp;</td>
          <td class="mdname1" valign="top" nowrap> <em>psVol</em>          </td>
          <td class="md" valign="top">&nbsp;)&nbsp;</td>
          <td class="md" nowrap></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psVol</em>&nbsp;</td><td>The shadow volume information to release </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Releases all data create by PVRTShadowVolMeshInitVol </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a11" doxytag="PVRTShadowVol.h::PVRTShadowVolSilhouetteProjectedBuild" ></a><p>
<br><br><h3>PVRTShadowVolSilhouetteProjectedBuild</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolSilhouetteProjectedBuild </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psVol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>dwVisFlags</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTVec3.html">PVRTVec3</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pvLightModel</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bPointLight</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psVol</em>&nbsp;</td><td>The shadow volume information </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>dwVisFlags</em>&nbsp;</td><td>Shadow volume creation flags </td></tr>
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh </td></tr>
    <tr><td valign=top><em>pvLightModel</em>&nbsp;</td><td>The light position/direction </td></tr>
    <tr><td valign=top><em>bPointLight</em>&nbsp;</td><td>Is the light a point light </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Using the light set up the shadow volume so it can be extruded. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a10" doxytag="PVRTShadowVol.h::PVRTShadowVolSilhouetteProjectedBuild" ></a><p>
<br><br><h3>PVRTShadowVolSilhouetteProjectedBuild</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> void PVRTShadowVolSilhouetteProjectedBuild </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top"><a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psVol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const unsigned int&nbsp;</td>
          <td class="mdname" nowrap> <em>dwVisFlags</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTVECTOR3f.html">PVRTVECTOR3</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pvLightModel</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const bool&nbsp;</td>
          <td class="mdname" nowrap> <em>bPointLight</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Modified:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psVol</em>&nbsp;</td><td>The shadow volume information </td></tr>
  </table>
</dl>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>dwVisFlags</em>&nbsp;</td><td>Shadow volume creation flags </td></tr>
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>The shadow volume mesh </td></tr>
    <tr><td valign=top><em>pvLightModel</em>&nbsp;</td><td>The light position/direction </td></tr>
    <tr><td valign=top><em>bPointLight</em>&nbsp;</td><td>Is the light a point light </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Using the light set up the shadow volume so it can be extruded. </dd></dl>
    </td>
  </tr>
</table>
<a class="anchor" name="a14" doxytag="PVRTShadowVol.h::PVRTShadowVolSilhouetteProjectedRender" ></a><p>
<br><br><h3>PVRTShadowVolSilhouetteProjectedRender</h3><br><div>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
  <tr>
    <td class="mdRow">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" nowrap valign="top"> int PVRTShadowVolSilhouetteProjectedRender </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const <a class="el" href="structPVRTShadowVolShadowMesh.html">PVRTShadowVolShadowMesh</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psMesh</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structPVRTShadowVolShadowVol.html">PVRTShadowVolShadowVol</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>psVol</em>, </td>
        </tr>
        <tr>
          <td class="md" nowrap align="right"></td>
          <td></td>
          <td class="md" nowrap>const <a class="el" href="structSPVRTContext.html">SPVRTContext</a> *const&nbsp;</td>
          <td class="mdname" nowrap> <em>pContext</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
<dl compact><dt><b>Inputs:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign=top><em>psMesh</em>&nbsp;</td><td>Shadow volume mesh </td></tr>
    <tr><td valign=top><em>psVol</em>&nbsp;</td><td>Renderable shadow volume information </td></tr>
    <tr><td valign=top><em>pContext</em>&nbsp;</td><td>A struct for passing in API specific data </td></tr>
  </table>
</dl>
<dl compact><dt><b>Description:</b></dt><dd>Draws the shadow volume </dd></dl>
    </td>
  </tr>
</table>
<br>
<br>
<P align=left><FONT size=2><STRONG><A 
   href="http://www.imgtec.com/powervr/insider/legal/index.asp">Copyright</A> � 
   1999-2008, Imagination Technologies Ltd.</STRONG></FONT></P>
<hr>
<address style="align: left;"><small><FONT color=f0f>
Generated by <a href="http://www.doxygen.org/index.html">DOXYGEN</a> 1.3.6</small></address>
</body>
</html>
